package ar.edu.utn.frsf.tpae.a2013.g03.persistencia.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * Objeto del modelo de datos (persistente). Representa un empleado.
 * 
 * @author Daniel Solis
 */

@Entity
@Table(name = "emp")
public class Empleado extends Usuario {

	@Column(name = "emp_crg", nullable = false)
	private String cargo;

	@Column(name = "emp_cuil", unique = true, nullable = false)
	private String cuil;

	@Column(name = "emp_ncta", nullable = false)
	private String numeroCuenta;

	@Column(name = "emp_tel")
	private String telefono;

	@Column(name = "emp_mail")
	private String email;

	public Empleado() {
		super();
		this.cargo = null;
		this.cuil = null;
		this.numeroCuenta = null;
		this.telefono = null;
		this.email = null;
	}

	public Empleado(Integer id, String usuario, String contrasenia,
			String nombre, String apellido, String dni, String cargo,
			String numeroCuenta, String telefono, String email, String prefijo,
			String sufijo) {
		super(id, usuario, contrasenia, nombre, apellido, dni);
		this.cargo = cargo;
		this.setCuil(prefijo, sufijo);
		this.numeroCuenta = numeroCuenta;
		this.telefono = telefono;
		this.email = email;
	}

	public String getCargo() {
		return cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	public String getCuil() {
		return cuil;
	}

	public void setCuil(String pre, String suf) {
		this.cuil = pre + "-" + this.getDni() + "-" + suf;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getNumeroCuenta() {
		return numeroCuenta;
	}

	public void setNumeroCuenta(String numeroCuenta) {
		this.numeroCuenta = numeroCuenta;
	}

}
